﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Lon.Common;
using System.Collections;

namespace CIRDiagnoseDevice
{
    class ReadiniFile
    {
        IniFile initFile = new IniFile();
        string filePath;

        public ReadiniFile(string filePath)
        {
            this.filePath = filePath;
        }

        public List<string> ReadCommPort()
        {
            List<string> portParaStr = new List<string>();
            string parameter = string.Empty;
            initFile = new IniFile(filePath + "\\" + "SerialPortInfo.ini");
            parameter = initFile.ReadString("2945B仪表通信串口", "串口参数", "");
            portParaStr.Add(parameter);

            parameter = initFile.ReadString("4202R仪表通信串口", "串口参数", "");
            portParaStr.Add(parameter);

            parameter = initFile.ReadString("450M列尾功能试验通信串口", "串口参数", "");
            portParaStr.Add(parameter);

            parameter = initFile.ReadString("LBJ功能试验通信串口", "串口参数", "");
            portParaStr.Add(parameter);

            parameter = initFile.ReadString("GSM_R功能试验通信串口", "串口参数", "");
            portParaStr.Add(parameter);

            parameter = initFile.ReadString("Tax箱数据通信串口", "串口参数", "");
            portParaStr.Add(parameter);

            parameter = initFile.ReadString("GSM_R单板测试通信串口", "串口参数", "");
            portParaStr.Add(parameter);

            parameter = initFile.ReadString("列车接近预警功能试验通信串口", "串口参数", "");
            portParaStr.Add(parameter);

            parameter = initFile.ReadString("电源管理单元通信串口", "串口参数", "");
            portParaStr.Add(parameter);

            parameter = initFile.ReadString("接口单元通信串口", "串口参数", "");
            portParaStr.Add(parameter);

            parameter = initFile.ReadString("LBJ通信串口", "串口参数", "");
            portParaStr.Add(parameter);

            parameter = initFile.ReadString("LBJ控制串口", "串口参数", "");
            portParaStr.Add(parameter);

            return portParaStr;
        }

        public List<string>[] ReadOffsetValue()
        {
            initFile = new IniFile(filePath + "\\" + "manufactureOffsetValue.ini");
           ArrayList num = initFile.ReadAllSections();
           int sectionLen = num.Count;
           List<string>[] manuList = new List<string>[sectionLen];
           for (int i = 0; i < sectionLen; i++)
           {
               string section = num[i].ToString();
               manuList[i] = new List<string>();
               manuList[i].Add(section);
               string str = initFile.ReadString(section, "OffSet_1KHz", "");
               manuList[i].Add(str);
               str = initFile.ReadString(section, "OffSet_300Hz", "");
               manuList[i].Add(str);
               str = initFile.ReadString(section, "OffSet_500Hz", "");
               manuList[i].Add(str);
               str = initFile.ReadString(section, "OffSet_2KHz", "");
               manuList[i].Add(str);
               str = initFile.ReadString(section, "OffSet_3KHz", "");
               manuList[i].Add(str);
               str = initFile.ReadString(section, "ModLev_3KHz", "");
               manuList[i].Add(str);
           }
           return manuList;
        }

        public List<string> ReadDBConnectionInfo()
        {
            List<string> list = new List<string>();
            initFile = new IniFile(filePath + "\\" + "databaseConnectionInfo.ini");
            string parameter = string.Empty;
            parameter = initFile.ReadString("数据库连接", "IP", "");
            list.Add(parameter);
            parameter = initFile.ReadString("数据库连接", "Password", "");
            list.Add(parameter);
            return list;
        }
    }
}
